package com.bestcem.xm.user.service;

import com.bestcem.xm.common.core.domain.web.ServiceResult;
import com.bestcem.xm.user.controller.param.UpdateUnsubscribeSettingParam;
import com.bestcem.xm.user.service.dto.setting.UnsubscribeSettingDTO;

/**
 * 退订设置服务
 *
 * @author ympan <yuming.pan@idiaoyan.com>
 * @version 1.0
 * @date 14:44 2022/7/12
 */
public interface UnsubscribeSettingService {
    /**
     * 更新退订设置
     *
     * @param param 更新退订设置参数
     * @return 退订设置id
     * @author ympan <yuming.pan@idiaoyan.com>
     * @date 14:50 2022/7/12
     */
    ServiceResult<String> updateUnsubscribeSetting(UpdateUnsubscribeSettingParam param);

    /**
     * 插入退订设置
     *
     * @param orgId 公司id
     * @return 退订设置id
     * @author ympan <yuming.pan@idiaoyan.com>
     * @date 17:32 2022/7/12
     */
    ServiceResult<String> insert(String orgId);

    /**
     * 根据公司id获取退订设置
     *
     * @param orgId 公司id
     * @return 获取退订设置VO
     * @author ympan <yuming.pan@idiaoyan.com>
     * @date 18:08 2022/7/12
     */
    ServiceResult<UnsubscribeSettingDTO> getByOrgId(String orgId);

    /**
     * 为公司id生成签名
     *
     * @param orgId 公司id
     * @return 签名
     * @author ympan <yuming.pan@idiaoyan.com>
     * @date 11:18 2022/7/14
     */
    ServiceResult<String> genSig(String orgId);
}
